Processing devices, such as microcontrollers, field programmable arrays, etc., are widely used in the industry as control elements in many solutions. Most processing devices are general in purpose and are designed for use in a wide variety of problem solutions. As processing devices become more programmable and more widely applicable, a designer needs more specific device knowledge to select and use the appropriate processing device to solve a problem. For example, a Cypress MicroSystem's Programmable System on a Chip™ microcontroller (PSoC™ microcontroller) device may be the most widely applicable microcontroller devices currently on the market. Broadly applicable devices require a high amount of device specific knowledge to program the device to fit a variety of solutions. Unfortunately, many engineers charged with designing a system level solution do not possess the required specific knowledge to create the low level program of the solution for the device.
In a conventional solution using processing devices, hardware and software are usually created for a specific processing device, and may be redesigned (sometimes completely) following a change in requirements. The faster the time-to-market or the shorter the design, the more likely requirement changes are to occur. A common sequence of events is to first determine the system requirements to address a problem, then second to determine hardware and software requirements, then third to determine processing device and interfacing circuitry requirements, and fourth to find a suitable processing device and design suitable interfaces. Finally, the user must manually configure the processing device and write device specific firmware. In some cases, the user/programmer may have to re-write firmware, redesign circuitry, or choose another processing device based upon changing requirements.
These changing requirements result in one or all of costly and inefficient code changes and software and hardware architecture changes, which might also require a change in the processing device and/or significant redesign of the entire project. Such a redesign may be costly and further delay design and production schedules.